.PHONY:all
all:uboot

include $(UBOOTDIR)/../Makefile.gpio

GEN_PTN_HEADER=$(CONFIG_UTIL_PATH)/gen_ptn_header
ifeq ($(CFG_DOUBLE_BOOT),1)
PARTITION_CONF=$(wildcard $(IMAGEPATH)/FlashMaker/$(PID)_$(RELEASE)/*ptn*M_dboot.conf)
else
PARTITION_CONF=$(wildcard $(IMAGEPATH)/FlashMaker/$(PID)_$(RELEASE)/*ptn*M.conf)
endif

ifeq ($(CFG_DOUBLE_BOOT_FACTORY),1)
UBOOTFILE=factory-uboot.bin
UBOOT_CONFIG_FILE_FIN=$(UBOOT_CONFIG_FILE)
else
ifeq ($(CFG_DOUBLE_BOOT_SECOND),1)
UBOOT_CONFIG_FILE_FIN=$(UBOOT_DBOOT_CONFIG_FILE)
UBOOTFILE=fs-uboot.bin
else
UBOOT_CONFIG_FILE_FIN=$(UBOOT_CONFIG_FILE)
UBOOTFILE=u-boot.bin
endif
endif

uboot_clean:
	@if test -f $(UBOOTDIR)/Makefile; then \
	echo Making uboot clean; \
	cd $(UBOOTDIR) && $(MAKEARCH) distclean; \
	else echo "Do nothing for clean uboot"; \
	fi

uboot_prep: prepare_gpio
	echo $(PARTITION_CONF);
	echo $(GEN_PTN_HEADER);
	if [ -d $(UBOOTDIR) ]; then \
	sed "s,^CONFIG_CROSS_COMPILER_PATH=.*,CONFIG_CROSS_COMPILER_PATH=\"${UBOOT_TOOLPATH}/bin\",g" $(UBOOT_CONFIG_FILE_FIN) > $(UBOOTDIR)/.config; \
	sed "s,CONFIG_CROSS_COMPILER_PATH .*,CONFIG_CROSS_COMPILER_PATH \"${UBOOT_TOOLPATH}/bin\"," $(UBOOT_HEADER_FILE) > $(UBOOTDIR)/autoconf.h; \
	test -f "$(PARTITION_CONF)" && cat "$(PARTITION_CONF)" | $(GEN_PTN_HEADER) -s fs-uboot CFG_BOOTLOADER_SIZE -s radio CFG_RADIO_SIZE -o radio CFG_RADIO_OFFSET -f CFG_FULL_SIZE >$(UBOOTDIR)/include/configs/generated_config.h; \
	fi

uboot_build_copy: uboot_prep
	@echo Making uboot at `date`
	cd $(UBOOTDIR) && make all
	@if test -f $(UBOOTDIR)/uboot.bin; then \
		cp -f $(UBOOTDIR)/uboot.bin $(UBOOTDIR)/../$(UBOOTFILE); \
	else \
		cp -f $(UBOOTDIR)/uboot.img $(UBOOTDIR)/../$(UBOOTFILE); \
	fi
	@echo End Making uboot at `date`

.PHONY:uboot
uboot: uboot_build_copy

.PHONY:clean
clean: uboot_clean
